4 research outputs found

    Network-wide Configuration Synthesis

    Full text link
    Computer networks are hard to manage. Given a set of high-level requirements (e.g., reachability, security), operators have to manually figure out the individual configuration of potentially hundreds of devices running complex distributed protocols so that they, collectively, compute a compatible forwarding state. Not surprisingly, operators often make mistakes which lead to downtimes. To address this problem, we present a novel synthesis approach that automatically computes correct network configurations that comply with the operator's requirements. We capture the behavior of existing routers along with the distributed protocols they run in stratified Datalog. Our key insight is to reduce the problem of finding correct input configurations to the task of synthesizing inputs for a stratified Datalog program. To solve this synthesis task, we introduce a new algorithm that synthesizes inputs for stratified Datalog programs. This algorithm is applicable beyond the domain of networks. We leverage our synthesis algorithm to construct the first network-wide configuration synthesis system, called SyNET, that support multiple interacting routing protocols (OSPF and BGP) and static routes. We show that our system is practical and can infer correct input configurations, in a reasonable amount time, for networks of realistic size (> 50 routers) that forward packets for multiple traffic classes.Comment: 24 Pages, short version published in CAV 201

    General Transitive Closures and Aggregate Functions

    No full text
    General transitive closures are a convenient operation for processing recursive structures with relational languages, because they are easy to understand, efficiently to implement and expressive enough to support a broad range of practical applications. To further extend the expressiveness of general transitive closures, we study the use of aggregate functions together with general transitive closures. While general transitive closures are restricted to express linear recursion, general transitive closures with aggregate functions can be used to express some nonlinear recursions too. We will give some conditions for general transitive closures with aggregate functions to be well formed and bottom up evalueable. We show how these constructs can be integrated in an extended SQL. Keywords: deductive databases, recursive query processing, SQL, general transitive closure

    Deductive Queries in ODMG Databases: the DOQL Approach

    No full text
    The Deductive Object Query Language (DOQL) is a rule-based query language designed to provide recursion, aggregates, grouping and virtual collections in the context of an ODMG compliant object database system. This paper provides a description of the constructs supported by DOQL and the algebraic operational semantics induced by DOQL's query translation approach to implementation. The translation consists of a logical rewriting step used to normalise DOQL expressions into molecular forms, and a mapping step that transforms the canonical molecular form into algebraic expressions. The paper thus not only describes a deductive language for use with ODMG databases, but indicates how this language can be implemented using conventional query processing techniques. 1 Introduction The ODMG standard is an important step forward due to the provision of a reference architecture for object databases. This architecture encompasses an object model and type system, a set of imperative lan..
    corecore